package org.example.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 费用逾期分析实体类
 * 
 * @author Generated
 */
@Data
@TableName("expense_overdue_analysis")
public class ExpenseOverdueAnalysis {
    
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 计划费用
     */
    @TableField("planned_expense")
    private BigDecimal plannedExpense;
    
    /**
     * 服务金额
     */
    @TableField("service_amount")
    private BigDecimal serviceAmount;
    
    /**
     * 安装预算
     */
    @TableField("installation_budget")
    private BigDecimal installationBudget;
    
    /**
     * 当期付款金额
     */
    @TableField("current_payment_amount")
    private BigDecimal currentPaymentAmount;
    
    /**
     * 余额比例（%）
     */
    @TableField("balance_ratio")
    private BigDecimal balanceRatio;
    
    /**
     * 滞纳金
     */
    @TableField("late_fee")
    private BigDecimal lateFee;
    
    /**
     * 金额占比（%）
     */
    @TableField("amount_proportion")
    private BigDecimal amountProportion;
    
    /**
     * 客户数占比（%）
     */
    @TableField("customer_count_proportion")
    private BigDecimal customerCountProportion;
    
    /**
     * [1-30]天逾期金额
     */
    @TableField("overdue_1_30_amount")
    private BigDecimal overdue1To30Amount;
    
    /**
     * [1-30]天逾期笔数
     */
    @TableField("overdue_1_30_count")
    private Integer overdue1To30Count;
    
    /**
     * [31-60]天逾期金额
     */
    @TableField("overdue_31_60_amount")
    private BigDecimal overdue31To60Amount;
    
    /**
     * [31-60]天逾期笔数
     */
    @TableField("overdue_31_60_count")
    private Integer overdue31To60Count;
    
    /**
     * [61-90]天逾期金额
     */
    @TableField("overdue_61_90_amount")
    private BigDecimal overdue61To90Amount;
    
    /**
     * [61-90]天逾期笔数
     */
    @TableField("overdue_61_90_count")
    private Integer overdue61To90Count;
    
    /**
     * [91-120]天逾期金额
     */
    @TableField("overdue_91_120_amount")
    private BigDecimal overdue91To120Amount;
    
    /**
     * [91-120]天逾期笔数
     */
    @TableField("overdue_91_120_count")
    private Integer overdue91To120Count;
    
    /**
     * [121-150]天逾期金额
     */
    @TableField("overdue_121_150_amount")
    private BigDecimal overdue121To150Amount;
    
    /**
     * [121-150]天逾期笔数
     */
    @TableField("overdue_121_150_count")
    private Integer overdue121To150Count;
    
    /**
     * [151-180]天逾期金额
     */
    @TableField("overdue_151_180_amount")
    private BigDecimal overdue151To180Amount;
    
    /**
     * [151-180]天逾期笔数
     */
    @TableField("overdue_151_180_count")
    private Integer overdue151To180Count;
    
    /**
     * [181+]天逾期金额
     */
    @TableField("overdue_181_plus_amount")
    private BigDecimal overdue181PlusAmount;
    
    /**
     * [181+]天逾期笔数
     */
    @TableField("overdue_181_plus_count")
    private Integer overdue181PlusCount;
    
    /**
     * 逾期总金额
     */
    @TableField("total_overdue_amount")
    private BigDecimal totalOverdueAmount;
    
    /**
     * 0天以上逾期30天以上金额
     */
    @TableField("overdue_30_plus_amount")
    private BigDecimal overdue30PlusAmount;
    
    /**
     * 以上逾期60天以上金额
     */
    @TableField("overdue_60_plus_amount")
    private BigDecimal overdue60PlusAmount;
    
    /**
     * 以上逾期90天以上金额
     */
    @TableField("overdue_90_plus_amount")
    private BigDecimal overdue90PlusAmount;
    
    /**
     * 以上逾期120天以上金额
     */
    @TableField("overdue_120_plus_amount")
    private BigDecimal overdue120PlusAmount;
    
    /**
     * 以上逾期150天以上金额
     */
    @TableField("overdue_150_plus_amount")
    private BigDecimal overdue150PlusAmount;
    
    /**
     * 以上逾期180天以上金额
     */
    @TableField("overdue_180_plus_amount")
    private BigDecimal overdue180PlusAmount;
    
    /**
     * 逾期笔数
     */
    @TableField("overdue_count")
    private Integer overdueCount;
    
    /**
     * 逾期率（%）
     */
    @TableField("overdue_rate")
    private BigDecimal overdueRate;
    
    /**
     * 逾期天数
     */
    @TableField("overdue_days")
    private Integer overdueDays;
    
    /**
     * 分析日期，格式：YYYY-MM-DD
     */
    @TableField("analysis_date")
    private String analysisDate;
    
    /**
     * 分类名称
     */
    @TableField("category_name")
    private String categoryName;
    
    /**
     * 地区名称
     */
    @TableField("region_name")
    private String regionName;
    
    /**
     * 产品类型
     */
    @TableField("product_type")
    private String productType;
    
    /**
     * 创建时间
     */
    @TableField("created_time")
    private LocalDateTime createdTime;
    
    /**
     * 更新时间
     */
    @TableField("updated_time")
    private LocalDateTime updatedTime;
}
